<?xml version="1.0"?>
<doc>
    <assembly>
        <name>ShpHelper</name>
    </assembly>
    <members>
        <member name="T:ShpHelper.ProvidedOrder">
            <summary>
            The order of bytes provided to EndianBitConverter
            </summary>
        </member>
        <member name="F:ShpHelper.ProvidedOrder.Big">
            <summary>
            Value is stored as big-endian
            </summary>
        </member>
        <member name="F:ShpHelper.ProvidedOrder.Little">
            <summary>
            Value is stored as little-endian
            </summary>
        </member>
        <member name="T:ShpHelper.EndianBitConverter">
            <summary>
            BitConverter methods that allow a different source byte order (only a subset of BitConverter)
            </summary>
        </member>
        <member name="M:ShpHelper.EndianBitConverter.ToInt32(System.Byte[],System.Int32,ShpHelper.ProvidedOrder)">
            <summary>
            Returns an integer from four bytes of a byte array
            </summary>
            <param name="value">bytes to convert</param>
            <param name="startIndex">start index in value</param>
            <param name="order">byte order of value</param>
            <returns>the integer</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if value is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if startIndex is invalid</exception>
        </member>
        <member name="M:ShpHelper.EndianBitConverter.ToDouble(System.Byte[],System.Int32,ShpHelper.ProvidedOrder)">
            <summary>
            Returns a double from eight bytes of a byte array
            </summary>
            <param name="value">bytes to convert</param>
            <param name="startIndex">start index in value</param>
            <param name="order">byte order of value</param>
            <returns>the double</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if value is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if startIndex is invalid</exception>
        </member>
        <member name="T:ShpHelper.ShapeType">
            <summary>
            The ShapeType of a shape in a Shapefile
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.Null">
            <summary>
            Null Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.Point">
            <summary>
            Point Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.PolyLine">
            <summary>
            PolyLine Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.Polygon">
            <summary>
            Polygon Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.MultiPoint">
            <summary>
            MultiPoint Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.PointZ">
            <summary>
            PointZ Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.PolyLineZ">
            <summary>
            PolyLineZ Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.PolygonZ">
            <summary>
            PolygonZ Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.MultiPointZ">
            <summary>
            MultiPointZ Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.PointM">
            <summary>
            PointM Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.PolyLineM">
            <summary>
            PolyLineM Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.PolygonM">
            <summary>
            PolygonM Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.MultiPointM">
            <summary>
            MultiPointM Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapeType.MultiPatch">
            <summary>
            MultiPatch Shape
            </summary>
        </member>
        <member name="T:ShpHelper.Header">
            <summary>
            The header data for a Shapefile main file or Index file
            </summary>
        </member>
        <member name="F:ShpHelper.Header.HeaderLength">
            <summary>
            The length of a Shapefile header in bytes
            </summary>
        </member>
        <member name="M:ShpHelper.Header.#ctor(System.Byte[])">
            <summary>
            The header data for a Shapefile main file or Index file
            </summary>
            <param name="headerBytes">The first 100 bytes of the Shapefile main file or Index file</param>
            <exception cref="T:System.ArgumentNullException">Thrown if headerBytes is null</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if an error occurs parsing the header</exception>
        </member>
        <member name="P:ShpHelper.Header.FileCode">
            <summary>
            Gets the FileCode
            </summary>
        </member>
        <member name="P:ShpHelper.Header.FileLength">
            <summary>
            Gets the file length, in 16-bit words, including the header bytes
            </summary>
        </member>
        <member name="P:ShpHelper.Header.Version">
            <summary>
            Gets the file version
            </summary>
        </member>
        <member name="P:ShpHelper.Header.ShapeType">
            <summary>
            Gets the ShapeType contained in this Shapefile
            </summary>
        </member>
        <member name="P:ShpHelper.Header.XMin">
            <summary>
            Gets min x for the bounding box
            </summary>
        </member>
        <member name="P:ShpHelper.Header.YMin">
            <summary>
            Gets min y for the bounding box
            </summary>
        </member>
        <member name="P:ShpHelper.Header.XMax">
            <summary>
            Gets max x for the bounding box
            </summary>
        </member>
        <member name="P:ShpHelper.Header.YMax">
            <summary>
            Gets max y for the bounding box
            </summary>
        </member>
        <member name="P:ShpHelper.Header.ZMin">
            <summary>
            Gets min z for the bounding box (0 if unused)
            </summary>
        </member>
        <member name="P:ShpHelper.Header.ZMax">
            <summary>
            Gets max z for the bounding box (0 if unused)
            </summary>
        </member>
        <member name="P:ShpHelper.Header.MMin">
            <summary>
            Gets min m for the bounding box (0 if unused)
            </summary>
        </member>
        <member name="P:ShpHelper.Header.MMax">
            <summary>
            Gets max m for the bounding box (0 if unused)
            </summary>
        </member>
        <member name="T:ShpHelper.PointD">
            <summary>
            A simple double precision point
            </summary>
        </member>
        <member name="F:ShpHelper.PointD.X">
            <summary>
            Gets or sets the X value
            </summary>
        </member>
        <member name="F:ShpHelper.PointD.Y">
            <summary>
            Gets or sets the Y value
            </summary>
        </member>
        <member name="M:ShpHelper.PointD.#ctor(System.Double,System.Double)">
            <summary>
            A simple double precision point
            </summary>
            <param name="x">X value</param>
            <param name="y">Y value</param>
        </member>
        <member name="T:ShpHelper.RectangleD">
            <summary>
            A simple double precision rectangle
            </summary>
        </member>
        <member name="F:ShpHelper.RectangleD.Left">
            <summary>
            Gets or sets the left value
            </summary>
        </member>
        <member name="F:ShpHelper.RectangleD.Top">
            <summary>
            Gets or sets the top value
            </summary>
        </member>
        <member name="F:ShpHelper.RectangleD.Right">
            <summary>
            Gets or sets the right value
            </summary>
        </member>
        <member name="F:ShpHelper.RectangleD.Bottom">
            <summary>
            Gets or sets the bottom value
            </summary>
        </member>
        <member name="M:ShpHelper.RectangleD.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            A simple double precision rectangle
            </summary>
            <param name="left">Left</param>
            <param name="top">Top</param>
            <param name="right">Right</param>
            <param name="bottom">Bottom</param>
        </member>
        <member name="T:ShpHelper.Shape">
            <summary>
            Base Shapefile shape - contains only the shape type and metadata plus helper methods.
            An instance of Shape is the Null ShapeType. If the Type field is not ShapeType.Null then
            cast to the more specific shape (i.e. ShapePolygon).
            </summary>
        </member>
        <member name="M:ShpHelper.Shape.#ctor(ShpHelper.ShapeType,System.Int32,System.Collections.Specialized.StringDictionary,System.Data.IDataRecord)">
            <summary>
            Base Shapefile shape - contains only the shape type and metadata plus helper methods.
            An instance of Shape is the Null ShapeType. If the Type field is not ShapeType.Null then
            cast to the more specific shape (i.e. ShapePolygon).
            </summary>
            <param name="shapeType">The ShapeType of the shape</param>
            <param name="recordNumber">The record number in the Shapefile</param>
            <param name="metadata">Metadata about the shape (optional)</param>
            <param name="dataRecord">IDataRecord associated with the shape</param>
        </member>
        <member name="M:ShpHelper.Shape.GetMetadata(System.String)">
            <summary>
            Gets the metadata (as a string) for a given name (key). Valid names
            for this shape can be retrieved by calling GetMetadataNames().
            </summary>
            <param name="name">The name to retreieve</param>
            <returns>The metadata string, or null if the requested name does not exist</returns>
        </member>
        <member name="M:ShpHelper.Shape.GetMetadataNames">
            <summary>
            Gets an array of valid metadata names (keys) for this shape. Returns
            null if not metadata exists.
            </summary>
            <returns>Array of metadata names, or null of no metadata exists</returns>
        </member>
        <member name="M:ShpHelper.Shape.ParseBoundingBox(System.Byte[],System.Int32,ShpHelper.ProvidedOrder)">
            <summary>
            Extracts a double precision rectangle (RectangleD) from a byte array - assumes that
            the called has validated that there is enough space in the byte array for four
            doubles (32 bytes)
            </summary>
            <param name="value">byte array</param>
            <param name="startIndex">start index in the array</param>
            <param name="order">byte order of the doubles to be extracted</param>
            <returns>The RectangleD</returns>
        </member>
        <member name="M:ShpHelper.Shape.ParsePolyLineOrPolygon(System.Byte[],ShpHelper.RectangleD@,System.Collections.Generic.List{ShpHelper.PointD[]}@)">
            <summary>
            The PolyLine and Polygon shapes share the same structure, this method parses the bounding box
            and list of parts for both
            </summary>
            <param name="shapeData">The shape record as a byte array</param>
            <param name="boundingBox">Returns the bounding box</param>
            <param name="parts">Returns the list of parts</param>
        </member>
        <member name="P:ShpHelper.Shape.DataRecord">
            <summary>
            Returns the IDataRecord associated with the shape metadata
            </summary>
        </member>
        <member name="P:ShpHelper.Shape.RecordNumber">
            <summary>
            Gets the record number associated with this shape
            </summary>
        </member>
        <member name="P:ShpHelper.Shape.Type">
            <summary>
            Get the ShapeType of this shape
            </summary>
        </member>
        <member name="T:ShpHelper.ShapeFactory">
            <summary>
            Static factory class to create shape objects from a shape record
            </summary>
        </member>
        <member name="M:ShpHelper.ShapeFactory.ParseShape(System.Byte[],System.Collections.Specialized.StringDictionary,System.Data.IDataRecord)">
            <summary>
            Creates a Shape object (or derived object) from a shape record
            </summary>
            <param name="shapeData">The shape record as a byte array</param>
            <param name="metadata">Metadata associated with this shape (optional)</param>
            <param name="dataRecord">IDataRecord associated with the metadata</param>
            <returns>A Shape, or derived class</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if shapeData or metadata are null</exception>
            <exception cref="T:System.ArgumentException">Thrown if shapeData is less than 12 bytes long</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if an error occurs parsing shapeData</exception>
        </member>
        <member name="T:ShpHelper.Shapefile">
            <summary>
            Provides a readonly IEnumerable interface to an ERSI Shapefile.
            NOTE - has not been designed to be thread safe
            </summary>
            <remarks>
            See the ESRI Shapefile specification at http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf
            </remarks>
        </member>
        <member name="F:ShpHelper.Shapefile.ConnectionStringTemplateJet">
            <summary>
            Jet connection string template
            </summary>
        </member>
        <member name="F:ShpHelper.Shapefile.ConnectionStringTemplateAce">
            <summary>
            ACE connection string template
            </summary>
        </member>
        <member name="M:ShpHelper.Shapefile.#ctor">
            <summary>
            Create a new Shapefile object.
            </summary>
        </member>
        <member name="M:ShpHelper.Shapefile.#ctor(System.String)">
            <summary>
            Create a new Shapefile object and open a Shapefile. Note that three files are required - 
            the main file (.shp), the index file (.shx) and the dBASE table (.dbf). The three files 
            must all have the same filename (i.e. shapes.shp, shapes.shx and shapes.dbf). Set path
            to any one of these three files to open the Shapefile.
            </summary>
            <param name="path">Path to the .shp, .shx or .dbf file for this Shapefile</param>
            <exception cref="T:System.ObjectDisposedException">Thrown if the Shapefile has been disposed</exception>
            <exception cref="T:System.ArgumentException">Thrown if the path parameter is empty</exception>
            <exception cref="T:System.IO.FileNotFoundException">Thrown if one of the three required files is not found</exception>
        </member>
        <member name="M:ShpHelper.Shapefile.#ctor(System.String,System.String)">
            <summary>
            Create a new Shapefile object and open a Shapefile. Note that three files are required - 
            the main file (.shp), the index file (.shx) and the dBASE table (.dbf). The three files 
            must all have the same filename (i.e. shapes.shp, shapes.shx and shapes.dbf). Set path
            to any one of these three files to open the Shapefile.
            </summary>
            <param name="path">Path to the .shp, .shx or .dbf file for this Shapefile</param>
            <param name="connectionStringTemplate">Connection string template - use Shapefile.ConnectionStringTemplateJet
            (the default), Shapefile.ConnectionStringTemplateAce or your own dBASE connection string</param>
            <exception cref="T:System.ObjectDisposedException">Thrown if the Shapefile has been disposed</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if the connectionStringTemplate parameter is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the path parameter is empty</exception>
            <exception cref="T:System.IO.FileNotFoundException">Thrown if one of the three required files is not found</exception>
        </member>
        <member name="M:ShpHelper.Shapefile.Open(System.String)">
            <summary>
            Create a new Shapefile object and open a Shapefile. Note that three files are required - 
            the main file (.shp), the index file (.shx) and the dBASE table (.dbf). The three files 
            must all have the same filename (i.e. shapes.shp, shapes.shx and shapes.dbf). Set path
            to any one of these three files to open the Shapefile.
            </summary>
            <param name="path">Path to the .shp, .shx or .dbf file for this Shapefile</param>
            <exception cref="T:System.ObjectDisposedException">Thrown if the Shapefile has been disposed</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if the path parameter is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the path parameter is empty</exception>
            <exception cref="T:System.IO.FileNotFoundException">Thrown if one of the three required files is not found</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if an error occurs parsing file headers</exception>
        </member>
        <member name="M:ShpHelper.Shapefile.Close">
            <summary>
            Close the Shapefile. Equivalent to calling Dispose().
            </summary>
        </member>
        <member name="M:ShpHelper.Shapefile.Finalize">
            <summary />
        </member>
        <member name="M:ShpHelper.Shapefile.Dispose">
            <summary>
            Dispose the Shapefile and free all resources.
            </summary>
        </member>
        <member name="M:ShpHelper.Shapefile.MoveNext">
            <summary>
            Move to the next item in the collection (returns false if at the end)
            </summary>
            <returns>false if there are no more items in the collection</returns>
        </member>
        <member name="M:ShpHelper.Shapefile.Reset">
            <summary>
            Reset the enumerator
            </summary>
        </member>
        <member name="M:ShpHelper.Shapefile.GetEnumerator">
            <summary>
            Get the IEnumerator for this Shapefile
            </summary>
            <returns>IEnumerator</returns>
        </member>
        <member name="P:ShpHelper.Shapefile.ConnectionStringTemplate">
            <summary>
            Gets or sets the connection string template - use Shapefile.ConnectionStringTemplateJet
            (the default), Shapefile.ConnectionStringTemplateAce or your own dBASE connection string
            </summary>
        </member>
        <member name="P:ShpHelper.Shapefile.RawMetadataOnly">
            <summary>
            If true then only the IDataRecord (DataRecord) property is available to access metadata for each shape.
            If flase (the default) then metadata is also parsed into a string dictionary (use GetMetadataNames() and
            GetMetadata() to access)
            </summary>
        </member>
        <member name="P:ShpHelper.Shapefile.Count">
            <summary>
            Gets the number of shapes in the Shapefile
            </summary>
        </member>
        <member name="P:ShpHelper.Shapefile.BoundingBox">
            <summary>
            Gets the bounding box for the Shapefile
            </summary>
        </member>
        <member name="P:ShpHelper.Shapefile.Type">
            <summary>
            Gets the ShapeType of the Shapefile
            </summary>
        </member>
        <member name="P:ShpHelper.Shapefile.Current">
            <summary>
            Gets the current shape in the collection
            </summary>
        </member>
        <member name="P:ShpHelper.Shapefile.System#Collections#IEnumerator#Current">
            <summary>
            Gets the current item in the collection
            </summary>
        </member>
        <member name="T:ShpHelper.ShapeMultiPoint">
            <summary>
            A Shapefile MultiPoint Shape
            </summary>
        </member>
        <member name="M:ShpHelper.ShapeMultiPoint.#ctor(System.Int32,System.Collections.Specialized.StringDictionary,System.Data.IDataRecord,System.Byte[])">
            <summary>
            A Shapefile MultiPoint Shape
            </summary>
            <param name="recordNumber">The record number in the Shapefile</param>
            <param name="metadata">Metadata about the shape</param>
            <param name="dataRecord">IDataRecord associated with the metadata</param>
            <param name="shapeData">The shape record as a byte array</param>
            <exception cref="T:System.ArgumentNullException">Thrown if shapeData is null</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if an error occurs parsing shapeData</exception>
        </member>
        <member name="P:ShpHelper.ShapeMultiPoint.BoundingBox">
            <summary>
            Gets the bounding box
            </summary>
        </member>
        <member name="P:ShpHelper.ShapeMultiPoint.Points">
            <summary>
            Gets the array of points
            </summary>
        </member>
        <member name="T:ShpHelper.ShapePoint">
            <summary>
            A Shapefile Point Shape
            </summary>
        </member>
        <member name="M:ShpHelper.ShapePoint.#ctor(System.Int32,System.Collections.Specialized.StringDictionary,System.Data.IDataRecord,System.Byte[])">
            <summary>
            A Shapefile Point Shape
            </summary>
            <param name="recordNumber">The record number in the Shapefile</param>
            <param name="metadata">Metadata about the shape</param>
            <param name="dataRecord">IDataRecord associated with the metadata</param>
            <param name="shapeData">The shape record as a byte array</param>
            <exception cref="T:System.ArgumentNullException">Thrown if shapeData is null</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if an error occurs parsing shapeData</exception>
        </member>
        <member name="P:ShpHelper.ShapePoint.Point">
            <summary>
            Gets the point
            </summary>
        </member>
        <member name="T:ShpHelper.ShapePolygon">
            <summary>
            A Shapefile Polygon Shape
            </summary>
        </member>
        <member name="M:ShpHelper.ShapePolygon.#ctor(System.Int32,System.Collections.Specialized.StringDictionary,System.Data.IDataRecord,System.Byte[])">
            <summary>
            A Shapefile Polygon Shape
            </summary>
            <param name="recordNumber">The record number in the Shapefile</param>
            <param name="metadata">Metadata about the shape</param>
            <param name="dataRecord">IDataRecord associated with the metadata</param>
            <param name="shapeData">The shape record as a byte array</param>
            <exception cref="T:System.ArgumentNullException">Thrown if shapeData is null</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if an error occurs parsing shapeData</exception>
        </member>
        <member name="P:ShpHelper.ShapePolygon.BoundingBox">
            <summary>
            Gets the bounding box
            </summary>
        </member>
        <member name="P:ShpHelper.ShapePolygon.Parts">
            <summary>
            Gets a list of parts (segments) for the PolyLine. Each part
            is an array of double precision points
            </summary>
        </member>
        <member name="T:ShpHelper.ShapePolyLine">
            <summary>
            A Shapefile PolyLine  Shape
            </summary>
        </member>
        <member name="F:ShpHelper.ShapePolyLine._boundingBox">
            <summary>
            Bounding Box
            </summary>
        </member>
        <member name="F:ShpHelper.ShapePolyLine._parts">
            <summary>
            List of parts
            </summary>
        </member>
        <member name="M:ShpHelper.ShapePolyLine.#ctor(System.Int32,System.Collections.Specialized.StringDictionary,System.Data.IDataRecord)">
            <summary>
            A Shapefile PolyLine Shape
            </summary>
            <param name="recordNumber">The record number in the Shapefile</param>
            <param name="metadata">Metadata about the shape</param>        
            <param name="dataRecord">IDataRecord associated with the metadata</param>
        </member>
        <member name="M:ShpHelper.ShapePolyLine.#ctor(System.Int32,System.Collections.Specialized.StringDictionary,System.Data.IDataRecord,System.Byte[])">
            <summary>
            A Shapefile PolyLine Shape
            </summary>
            <param name="recordNumber">The record number in the Shapefile</param>
            <param name="metadata">Metadata about the shape</param>
            <param name="dataRecord">IDataRecord associated with the metadata</param>
            <param name="shapeData">The shape record as a byte array</param>
            <exception cref="T:System.ArgumentNullException">Thrown if shapeData is null</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if an error occurs parsing shapeData</exception>
        </member>
        <member name="P:ShpHelper.ShapePolyLine.BoundingBox">
            <summary>
            Gets the bounding box
            </summary>
        </member>
        <member name="P:ShpHelper.ShapePolyLine.Parts">
            <summary>
            Gets a list of parts (segments) for the PolyLine. Each part
            is an array of double precision points
            </summary>
        </member>
        <member name="T:ShpHelper.ShapePolyLineM">
            <summary>
            A Shapefile ShapePolyLineM Shape
            </summary>
        </member>
        <member name="M:ShpHelper.ShapePolyLineM.#ctor(System.Int32,System.Collections.Specialized.StringDictionary,System.Data.IDataRecord,System.Byte[])">
            <summary>
            A Shapefile PolyLine Shape
            </summary>
            <param name="recordNumber">The record number in the Shapefile</param>
            <param name="metadata">Metadata about the shape</param>
            <param name="dataRecord">IDataRecord associated with the metadata</param>
            <param name="shapeData">The shape record as a byte array</param>
            <exception cref="T:System.ArgumentNullException">Thrown if shapeData is null</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if an error occurs parsing shapeData</exception>
        </member>
        <member name="M:ShpHelper.ShapePolyLineM.ParsePolyLineM(System.Byte[],ShpHelper.RectangleD@,System.Collections.Generic.List{ShpHelper.PointD[]}@)">
            <summary>        
            Function is basically the same as Shape.ParsePolyLineOrPolygon, it is just
            extended to handle the M extreme values
            </summary>
            <param name="shapeData">The shape record as a byte array</param>
            <param name="boundingBox">Returns the bounding box</param>
            <param name="parts">Returns the list of parts</param>
        </member>
        <member name="P:ShpHelper.ShapePolyLineM.Mmin">
            <summary>
            Minimum measure
            </summary>
        </member>
        <member name="P:ShpHelper.ShapePolyLineM.Mmax">
            <summary>
            Maximum measure
            </summary>
        </member>
        <member name="P:ShpHelper.ShapePolyLineM.M">
            <summary>
            List of M values per point.
            
            From the official documentation: The measures for each part in the 
            PolyLineM are stored end to end. The measures for part 2 follow the 
            measures for part 1, and so on. The parts array holds the array index 
            of the starting point for each part. There is no delimiter in the 
            measure array between parts.
            </summary>
        </member>
    </members>
</doc>
